Telegram Group Search
PHP Datatypes: Строгий и безопасный способ работы с примитивными типами данных

Эта библиотека представляет гибкий, но строгий способ работы с примитивными типами данных, такими как целые числа, плавающие и строки, в PHP. Она делает акцент на безопасности типов и точности, поддерживая операции для подписанных и беззнаковых целых чисел (Int8, UInt8 и т.д.) и различных форматов с плавающей точкой (Float32, Float64 и т.д.).

Для чего это нужно:

🟢Безопасность типов: Явно определяя типы данных, например UInt8, вы устраняете риск проникновения недопустимых значений в ваше приложение. Например, использование целых чисел без знака гарантирует, что значение останется в допустимых диапазонах, обеспечивая защиту от неожиданного ввода данных.

🟢Точность: Работа с точными значениями, особенно с числами с плавающей точкой, может быть сложной в PHP из-за того, как он управляет плавающими числами нативно.

🟢Защита диапазонов: Указывая точные диапазоны, вы можете предотвратить такие проблемы, как переполнение или недополнение, которые часто остаются незамеченными в языках с динамической типизацией.

🟢Удобство чтения и обслуживания: Явные типы данных улучшают читаемость кода. Когда разработчик читает ваш код, он сразу же понимает, какой тип значения ожидается и какие ограничения на него накладываются. Это повышает удобство сопровождения в долгосрочной перспективе.

🔗 Github

Библиотека пхпшника #инструменты
Что будет выведено в результате работы скрипта?
Что будет выведено в результате работы скрипта?
Anonymous Quiz
67%
int(8) int(5)
6%
int(8) int(5) int(7) int(4)
24%
int(8) int(7) int(5) int(4)
3%
int(7) int(4)
🏗 7 архитектурных паттернов, которые должен знать каждый программист

Если вы всерьёз строите карьеру в разработке, то без архитектурных паттернов никуда. Они помогают проектировать системы, которые не развалятся при первом же проде — масштабируемые, отказоустойчивые и вменяемые в поддержке.

➡️ В статье вас ждёт

— Circuit Breaker — как не сжечь систему повторными ошибками
— Event Sourcing — зачем сохранять историю изменений вместо текущего состояния
— SideCar — как отделить логику от инфраструктуры
— CQRS — почему чтение и запись лучше разводить по разным моделям
— Rate Limiting — как защититься от перегрузки
— Strangler Fig — пошаговая миграция без боли
— Health Endpoint Monitoring — как делать доступный мониторинг состояния системы

Это не базовые темы, но если вы хотите прокачаться и разбираться в архитектуре — самое время углубиться.

🔵 Для полного понимания Архитектуры, забирайте наш курс → «Архитектуры и шаблоны проектирования»

📎 Статья

Proglib Academy #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
⌨️ Топ-вакансий по PHP за неделю

Senior PHP Developer (Bitrix) — от 3 500 до 4 500 €, Офис (Кипр)

TechLead PHP — 400 000 ₽, удалёнка (Москва)

Senior PHP Developer — от 250 000 до 400 000 ₽, удалёнка (Москва)

➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
📢 Работа с IP

Иногда вам может понадобиться работать с IP-адресами. Laravel использует компонент HttpFoundation из Symfony, который поставляется с полезными помощниками для работы с IP-адресами 🚀

Библиотека пхпшника #буст
🔧 Как без боли обновить PHP-проект на Symfony

Обновление PHP-проекта часто воспринимается как рискованная операция: что-то ломается, срочные фиксы летят в прод, команда в стрессе. Однако при правильном подходе процесс становится предсказуемым и управляемым.

🧰 1. Подготовка инструментов
Перед обновлением важно собрать «ящик инструментов»: автоматические тесты, статический анализ, линтеры. Например, инструмент Bruno отлично подходит для API-тестирования — лёгкий, удобный для работы в команде и хорошо интегрируется с Git.

📋 Что нужно сделать:
Выполнить debug:router для получения списка маршрутов.
Определить критичные эндпоинты и написать для них тест-сценарии.
Интегрировать тесты в CI для автоматического контроля стабильности.

⬆️ 2. Обновление зависимостей и окружения
Обновить composer.json и конфигурации окружения (например, Docker) под новую версию PHP, например 8.3.
Проверить список устаревших пакетов через composer outdated.
Выполнять обновление поэтапно — по одному или нескольким пакетам за раз.
Запустить PHPStan для статического анализа и PHP CS Fixer для форматирования кода.
Проверить и устранить устаревшие конструкции, отображаемые в Symfony Profiler или тестах.

🔄 3. Рефакторинг с использованием Rector
Rector позволяет автоматически модернизировать код: обновить синтаксис под новую версию PHP, улучшить читаемость, удалить мёртвый код. Настраивается через конфигурационные файлы с наборами правил (например, PHP 8.3, codeQuality, deadCode). Рефакторинг проводится поэтапно с обязательным прогоном тестов после каждого шага.

🛠️ 4. Обновление CI/CD
Актуализировать образы и зависимости в CI-пайплайне.
Убедиться, что все стадии (тесты, линтеры, анализ) выполняются успешно.
Задеплоить на стейджинг и проверить стабильность работы.

🧪 Пример GitHub Actions с Bruno:

- name: Run Bruno API tests
run: |
npm install -g @usebruno/cli
php -S localhost:8000 -t public &
sleep 2
cd bruno && bru run --env dev

🖼️ 5. Тестирование фронтенда
Даже если проект в основном бэкендовый, визуальные баги и ошибки пользовательского сценария могут остаться незамеченными. Тесты с помощью Cypress или Puppeteer позволяют отследить визуальные и поведенческие ошибки в интерфейсе.

🔗 Medium
Создание пользовательских классов в Laravel без пользовательских команд

🔧 Проблема


Laravel предоставляет команды Artisan для генерации стандартных компонентов (модели, контроллеры и т.д.), но не поддерживает создание пользовательских классов. Обычно разработчики создают отдельные команды, например, make:service или make:repository, что требует времени на настройку и поддержку.

💡 Решение: пакет laravel-custom-make
Пакет usmanzahid/laravel-custom-make позволяет:
🔸 Определять пользовательские типы классов в одном конфигурационном файле.

🔸 Указывать путь для сохранения и шаблон (stub) для каждого типа.

🔸 Генерировать классы с помощью команды php artisan make:custom

👉 Читать статью

Библиотека пхпшника #буст
🚨 Смешные новости про IT теперь в одном канале

Мы запустили @hahacker_news — наш новый юмористический IT-канал.

Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.

👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
🐾 Проклятие или благословение

Вопрос древний, как интернет: помогает ли кошка работать? Или это пушистая диверсия в лапах?

За что кошку можно любить на рабочем месте:

Погладил кота — забыл о дедлайнах. Правда, вместе с дедлайнами можно забыть и о задачах. Но нервы целы.

Когда твой ноутбук превращается в трон для кота, начинаешь задумываться о великих целях... например, купить второй ноутбук.

Кошка никогда не делает ничего лишнего. Хотите продуктивности? Учитесь у мастеров минимализма.

💬 А есть ли минусы у кошек? Делитесь своими мыслями в комментариях👇 Заодно можете покидать своих пушистых помощников 🐈

Библиотека пхпшника #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
😀 Самые полезные хоткеи в VS Code

💡 Хочешь редактировать код быстрее и чувствовать себя как джедай IDE? Лови подборку горячих клавиш, которые действительно ускоряют работу и делают процесс редактирования в разы приятнее:

🔥 Редактирование


🔹 Alt + ↑ / ↓ — переместить строку вверх или вниз.

🔹 Shift + Alt + ↑ / ↓ — скопировать строку вверх или вниз.

🔹 Ctrl + / — закомментировать или раскомментировать строку.

💬 А какие хоткеи у вас самые любимые? Может, есть свои "скрытые фишки" работы в VS Code? Делитесь в комментариях👇

Библиотека пхпшника #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Работаем с NATS в PHP: просто, быстро и неожиданно

Что такое NATS?
NATS — это высокопроизводительный брокер сообщений, написанный на Go. Он поддерживает модели PUB/SUB и очереди через JetStream. Работает по простому текстовому протоколу, с которым можно взаимодействовать даже через telnet.

PHP и NATS: возможно ли?
Да! Существует библиотека basis-company/nats, которая позволяет PHP-приложениям подключаться к NATS, публиковать и получать сообщения. В статье подробно описано:
🔸 Как установить и настроить библиотеку.
🔸 Как создать поток с политикой WORK_QUEUE.
🔸 Как публиковать и обрабатывать сообщения.

Почему это важно?
Интеграция PHP с современными брокерами сообщений открывает новые возможности для масштабируемых и распределённых систем. Теперь PHP-разработчики могут использовать преимущества асинхронной обработки данных без перехода на другие языки.

📖 Читайте статью полностью на Хабре
2025/05/17 19:01:05
Back to Top
HTML Embed Code: